This application claims priority to Korean Patent Application No. 2002-37055, filed on Jun. 28, 2002, in the Korean Intellectual Property Office.
1. Field of the Invention
The present invention relates generally to an on-screen display (OSD) processor and a method for processing OSD data, and more particularly, to an OSD processor for effectively processing OSD data and a method for processing OSD data when a plurality of OSD windows are displayed on one screen.
2. Description of the Related Art
On-screen display (OSD) processors blend OSD-data representing an OSD window with background video data at an appropriate rate and generate data to be output on a screen.
In general, OSD processors used in consumer electronics appliances display a menu comprised only of text or figures having a fixed shape on a screen. However, as user's demands on user interfaces increase, OSD processors should display graphics or pictures having complicated shapes on the screen.
However, the amount of OSD data corresponding to graphics having complicated shapes is still greater than the amount of OSD data corresponding to text or figures having a fixed shape, e.g., about several tens of times greater. Also, when a plurality of OSD windows are displayed on one screen, the computational load on OSD processors further increases.
FIG. 1 is a block diagram of a conventional OSD processor for displaying two OSD windows. Referring to FIG. 1, an OSD processor 100 includes video first-in and first-out (FIFO) memory device 110, first OSD FIFO memory device 120, second OSD FIFO memory device 130, a blending circuit 140, and LCD FIFO memory device 150. Hereinafter, all instances of FIFO memory device will simply be referred to as FIFO.
FIG. 2 illustrates two OSD windows and a video region displayed on one screen 20. Referring to FIGS. 1 and 2, the video FIFO 110 stores data of a video region read from a main memory (not shown).
The first OSD FIFO 120 stores OSD data of a first OSD window 21 read from the main memory, and the second OSD FIFO 130 stores OSD data of a second OSD window 23 read from the main memory.
The blending circuit 140 receives signals output from the video FIFO 110, the first OSD FIFO 120, and the second OSD FIFO 130, respectively, blends the signals at an appropriate rate with one another, generates data to be displayed on the screen 20, and outputs the data to the LCD FIFO 150.
The LCD FIFO 150 stores an output signal of the blending circuit 140 temporarily and outputs the stored data to the display 20.
If the number of OSD windows processed by the OSD processor is increased, the number of OSD FIFOs in which OSD data are stored, is also increased. As a result, the computational load on a memory controller (not shown) in which the increased OSD FIFO is stored, increases linearly.
When the first OSD window 21 and the second OSD window 23 are simultaneously displayed on the screen 20, only OSD data of the OSD window having a highest priority are displayed on an overlapped portion 25 of the first and second OSD windows 21 and 23.
Here, the priority of the second OSD window 23 is higher than the priority of the first OSD window 21, and the priority of the first OSD window 21 is higher than the priority of the video region. That is, the number in parentheses is an index representing the priority of the OSD window. Thus, only OSD data of the second OSD window 23 are displayed on the overlapped portion 25 of the first and second OSD windows 21 and 23.
Referring to FIG, 2, OSD data at an interval A are stored in the first OSD FIFO 120, and OSD data at an interval B are stored in the second OSD FIFO 130. Thus, the OSD processor 100 reads the OSD data of the overlapped portion 25 of the first and second OSD windows 21 and 23 from the main memory and stores the read OSD data in the first and second OSD FIFOs 120 and 130, respectively.
Thus, on the overlapped portion 25 of the first and second OSD windows 21 and 23, the OSD processor 100 will read and store the OSD data of the first ODS window 21 that is not displayed on the screen 20, and thus the burden on the OSD processor 100 increases.
Also, if the number of OSD windows displayed on one screen is increased, the number of OSD FIFOs in which the OSD data of a corresponding OSD window are stored, is increased, and the computational load on the OSD processor for processing the OSD data of the corresponding OSD window increases linearly.